function compareVersion(version1, version2) {
  // 将版本号按点分割成数组
  const v1Parts = version1.split(".");
  const v2Parts = version2.split(".");

  // 取两个版本号中较长的长度作为循环次数
  const maxLength = Math.max(v1Parts.length, v2Parts.length);

  for (let i = 0; i < maxLength; i++) {
    // 获取当前位置的修订号，缺失则视为0
    // 使用Number()转换会自动忽略前导零
    const num1 = i < v1Parts.length ? Number(v1Parts[i]) : 0;
    const num2 = i < v2Parts.length ? Number(v2Parts[i]) : 0;

    // 比较当前修订号
    if (num1 > num2) {
      return 1;
    } else if (num1 < num2) {
      return -1;
    }
  }

  // 所有修订号都相等
  return 0;
}
